/*
 * =====================================================================================
 *
 *       Filename:  cl_cond_mutex.hxx
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  12/11/2010 11:10:40 PM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Chen Ken (Ken), zlchen.ken@gmail.com
 *        Company:  EMC
 *
 * =====================================================================================
 */

#ifndef _CL_COND_MUTEX_HXX_
#define _CL_COND_MUTEX_HXX_

#include "cl_mutex.hxx"

namespace neo
{
class CLCondMutex: public CLMutex
{
public:
  CLCondMutex();
	~CLCondMutex();
  bool wait(void);
	bool notify(void);
	bool broadcastNotify(void);

private:
  CLCondMutex(const CLCondMutex&);
  CLCondMutex& operator=(const CLCondMutex&);

private:
  pthread_cond_t m_cond;
  pthread_condattr_t m_condAttr;
};
} // neo

#endif //_CL_COND_SIGNALER_HXX_

